// 箭头函数与this


// 箭头函数没有this机制
const person = {
  name: 'tom' ,
  sayHi: ()=>{
    console.log(`hi, my name is ${this.name}`)
  } ,
  sayHiAsync: function(){
    // setTimeout会被放在全局函数上调用
    // 这个this指向全局对象
    // 解决方法： 定义_this
    // 基于闭包机制
    // const _this = this
    // setTimeout(function(){
    //   console.log(_this.name)
    // }, 1000)

    // 箭头函数始终指向当前作用域的this
    setTimeout(()=>{
      console.log(this.name)
    },1000)
  }
}

person.sayHiAsync()